home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mh / mh-6.8 / h / fmtcompile.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-12-14  |  5.5 KB  |  105 lines

  1. /* @(#)$Id: fmtcompile.h,v 1.9 1992/02/09 07:12:48 jromine Exp $ */
  2.  
  3. /* Format Types */
  4. /* -------------*/
  5.  
  6. /* types that output text */
  7. #define FT_COMP        1    /* the text of a component */
  8. #define FT_COMPF    2    /* comp text, filled */
  9. #define FT_LIT        3    /* literal text */
  10. #define FT_LITF        4    /* literal text, filled */
  11. #define FT_CHAR        5    /* a single ascii character */
  12. #define FT_NUM        6    /* "value" as decimal number */
  13. #define FT_NUMF        7    /* "value" as filled dec number */
  14. #define FT_STR        8    /* "str" as text */
  15. #define FT_STRF        9    /* "str" as text, filled */
  16. #define FT_STRFW    10    /* "str" as text, filled, width in "value" */
  17. #define FT_PUTADDR    11    /* split and print address line */
  18.  
  19. /* types that modify the "str" or "value" registers */
  20. #define FT_LS_COMP    12    /* set "str" to component text */
  21. #define FT_LS_LIT    13    /* set "str" to literal text */
  22. #define FT_LS_GETENV    14    /* set "str" to getenv(text) */
  23. #define FT_LS_TRIM    15    /* trim trailing white space from "str" */
  24. #define FT_LV_COMP    16    /* set "value" to comp (as dec. num) */
  25. #define FT_LV_COMPFLAG    17    /* set "value" to comp flag word */
  26. #define FT_LV_LIT    18    /* set "value" to literal num */
  27. #define FT_LV_DAT    19    /* set "value" to dat[n] */
  28. #define FT_LV_STRLEN    20    /* set "value" to length of "str" */
  29. #define FT_LV_PLUS_L    21    /* set "value" += literal */
  30. #define FT_LV_MINUS_L    22    /* set "value" -= literal */
  31. #define FT_LV_DIVIDE_L    23    /* set "value" to value / literal */
  32. #define    FT_LV_MODULO_L    24    /* set "value" to value % literal */
  33. #define FT_LV_CHAR_LEFT 25      /* set "value" to char left in output */
  34.  
  35. #define FT_LS_MONTH     26      /* set "str" to tws month */
  36. #define FT_LS_LMONTH    27      /* set "str" to long tws month */
  37. #define FT_LS_ZONE      28      /* set "str" to tws timezone */
  38. #define FT_LS_DAY       29      /* set "str" to tws weekday */
  39. #define FT_LS_WEEKDAY   30      /* set "str" to long tws weekday */
  40. #define FT_LS_822DATE   31      /* set "str" to 822 date str */
  41. #define FT_LS_PRETTY    32      /* set "str" to pretty (?) date str */
  42. #define FT_LV_SEC       33      /* set "value" to tws second */
  43. #define FT_LV_MIN       34      /* set "value" to tws minute */
  44. #define FT_LV_HOUR      35      /* set "value" to tws hour */
  45. #define FT_LV_MDAY      36      /* set "value" to tws day of month */
  46. #define FT_LV_MON       37      /* set "value" to tws month */
  47. #define FT_LV_YEAR      38      /* set "value" to tws year */
  48. #define FT_LV_YDAY      39      /* set "value" to tws day of year */
  49. #define FT_LV_WDAY      40      /* set "value" to tws weekday */
  50. #define FT_LV_ZONE      41      /* set "value" to tws timezone */
  51. #define FT_LV_CLOCK     42      /* set "value" to tws clock */
  52. #define FT_LV_RCLOCK    43      /* set "value" to now - tws clock */
  53. #define FT_LV_DAYF      44      /* set "value" to tws day flag */
  54. #define FT_LV_DST       45      /* set "value" to tws daylight savings flag */
  55. #define FT_LV_ZONEF     46      /* set "value" to tws timezone flag */
  56.  
  57. #define FT_LS_PERS      47      /* set "str" to person part of addr */
  58. #define FT_LS_MBOX      48      /* set "str" to mbox part of addr */
  59. #define FT_LS_HOST      49      /* set "str" to host part of addr */
  60. #define FT_LS_PATH      50      /* set "str" to route part of addr */
  61. #define FT_LS_GNAME     51      /* set "str" to group part of addr */
  62. #define FT_LS_NOTE      52      /* set "str" to comment part of addr */
  63. #define FT_LS_ADDR      53      /* set "str" to mbox@host */
  64. #define FT_LS_822ADDR   54      /* set "str" to 822 format addr */
  65. #define FT_LS_FRIENDLY  55      /* set "str" to "friendly" format addr */
  66. #define FT_LV_HOSTTYPE  56      /* set "value" to addr host type */
  67. #define FT_LV_INGRPF    57      /* set "value" to addr in-group flag */
  68. #define FT_LV_NOHOSTF   58      /* set "value" to addr no-host flag */
  69.  
  70. /* Date Coercion */
  71. #define FT_LOCALDATE    59      /* Coerce date to local timezone */
  72. #define FT_GMTDATE      60      /* Coerce date to gmt */
  73.  
  74. /* pre-format processing */
  75. #define FT_PARSEDATE    61      /* parse comp into a date (tws) struct */
  76. #define FT_PARSEADDR    62      /* parse comp into a mailaddr struct */
  77. #define FT_FORMATADDR   63      /* let external routine format addr */
  78. #define FT_MYMBOX       64      /* do "mymbox" test on comp */
  79.  
  80. /* misc. */        /* ADDTOSEQ only works if you include "options LBL" */
  81. #define FT_ADDTOSEQ     65      /* add current msg to a sequence */
  82.  
  83. /* conditionals & control flow (must be last) */
  84. #define FT_SAVESTR      66      /* save current str reg */
  85. #define FT_DONE         67      /* stop formatting */
  86. #define FT_PAUSE        68      /* pause */
  87. #define FT_NOP          69      /* nop */
  88. #define FT_GOTO         70      /* (relative) goto */
  89. #define FT_IF_S_NULL    71      /* test if "str" null */
  90. #define FT_IF_S         72      /* test if "str" non-null */
  91. #define FT_IF_V_EQ      73      /* test if "value" = literal */
  92. #define FT_IF_V_NE      74      /* test if "value" != literal */
  93. #define FT_IF_V_GT      75      /* test if "value" > literal */
  94. #define FT_IF_MATCH     76      /* test if "str" contains literal */
  95. #define FT_IF_AMATCH    77      /* test if "str" starts with literal */
  96. #define FT_S_NULL       78      /* V = 1 if "str" null */
  97. #define FT_S_NONNULL    79      /* V = 1 if "str" non-null */
  98. #define FT_V_EQ         80      /* V = 1 if "value" = literal */
  99. #define FT_V_NE         81      /* V = 1 if "value" != literal */
  100. #define FT_V_GT         82      /* V = 1 if "value" > literal */
  101. #define FT_V_MATCH      83      /* V = 1 if "str" contains literal */
  102. #define FT_V_AMATCH     84      /* V = 1 if "str" starts with literal */
  103.  
  104. #define IF_FUNCS FT_S_NULL      /* start of "if" functions */
  105.